#ifndef SHAPE_H
#define SHAPE_h
#include "color.hh"
#include <iostream>

class Shape{
public:
  virtual void draw() = 0;
};

class Circle: public Shape{
  Color& color;
public:
  Circle(Color& color): color(color){};
  void draw() override{
    std::cout << "Circle\n";
    color.paint();
  };
};

class Square: public Shape{
  Color& color;
public:
  Square(Color& color): color(color){};
  void draw() override{
    std::cout << "Square\n";
    color.paint();
  };
};

#endif
